import axios from "axios";
import wx from "weixin-js-sdk";
// 分享成功回调
function doShareDone() {
  console.log("分享成功");
}
// 取消分享回调
function doShareCancel() {
  console.log("取消了分享");
}
export default {
  isWechat() {
    var ua = window.navigator.userAgent.toLowerCase();
    if (ua.match(/micromessenger/i) == "micromessenger") {
      // console.log(‘是微信客户端‘)
      return true;
    } else {
      // console.log(‘不是微信客户端‘)
      return false;
    }
  },
  share({ url, title, desc, imgUrl }) {
    if (!this.isWechat()) return;
    console.log("测试wxShare!!!");
    var shareUrl = url ? url : location.href.split("#")[0];
    var shareTitle = title ? title : "分享标题";
    var shareDesc = desc ? desc : "分享描述";
    var shareImgUrl = imgUrl ? imgUrl : "";
    axios
      .request({
        url: "https://www.mysite.com/wxsharesign",
        method: "GET",
        params: {
          index: "1",
          url: shareUrl,
        }, //这里不是统一的
      })
      .then((res) => {
        let result = res.data;
        wx.config({
          debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
          appId: result.data.appid, // 必填，公众号的唯一标识
          timestamp: result.data.timestamp, // 必填，生成签名的时间戳
          nonceStr: result.data.noncestr, // 必填，生成签名的随机串
          signature: result.data.signature, // 必填，签名
          jsApiList: [
            "updateAppMessageShareData",
            "updateTimelineShareData",
            "onMenuShareTimeline",
            "onMenuShareAppMessage",
          ], // 必填，需要使用的JS接口列表
        });
        setTimeout(() => {
          wx.ready(function () {
            // 分享给好友
            wx.updateAppMessageShareData({
              title: shareTitle, // 分享标题
              desc: shareDesc, // 分享描述
              link: shareUrl, // 分享链接
              imgUrl: shareImgUrl, // 分享图标
              success: function () {
                doShareDone();
              },
              cancel: function () {
                doShareCancel();
              },
            });

            // 分享到朋友圈
            wx.updateTimelineShareData({
              title: shareTitle, // 分享标题
              link: shareUrl, // 分享链接
              imgUrl: shareImgUrl, // 分享图标
              success: function () {
                doShareDone();
              },
              cancel: function () {
                doShareCancel();
              },
            });
          });
        }, 300);
      })
      .catch((err) => {
        console.log("设置微信分享失败", err);
      });
  },
};
